<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="app">
		  <h1>Hello App!</h1>
		  <p>
		    <!-- 使用 router-link 组件来导航. -->
		    <!-- 通过传入 `to` 属性指定链接. -->
		    <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
		    <router-link to="/user/1">用户1</router-link>
			 <router-link to="/user/2">用户2</router-link>
		    <router-link to="/goods/3">商品</router-link>
			 <router-link to="/duixiang">传对象</router-link>
			 <router-link to="/hanshu/4">传函数</router-link>
		  </p>
		 <!-- 路由出口 -->
		  <!-- 路由匹配到的组件将渲染在这里 -->
		  <router-view></router-view>
		</div>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
			<!-- // 0. 如果使用模块化机制编程，导入Vue和VueRouter，要调用 Vue.use(VueRouter) -->
		<script src="js/vue-router.js"></script>
		<script type="text/javascript">
		
			
			// 1. 定义 (路由) 组件。
			// 可以从其他文件 import 进来
			let User = { template: `
			<div>
			<h2>用户</h2>
			<h2>$route传参接收：{{ $route.params.id }}</h2></div>
			`}
			let Goods = { 
				props: ['id'],
				template: `
			<div>
			<h2>商品</h2>
			<h2>props传参接收：{{id}}</h2>
			<router-link :to="{ name: 'lingshi', params: { id: 123 }}">零食</router-link>
			<router-link to="/goods/xiangshui/id">香水</router-link>
			  <router-view></router-view>
			  </div>
			` }
			let Ls = { 
				props: ['id'],
				template: `
				<div>
			<h1>零食</h1>
			<h2>子组件props传参接收：{{id}}</h2>
			</div>
			`}
			let Xs = { template: `
			<h1>香水</h1>
			`}
			let Dx = { 
				props:['name','age'],
				template: `
				<h2>{{name+ ' ,' +age}}</h2>
			
			`}
			let Hs = {
				props:['name','age','id'],
				template: `
				<h2>{{name+ ' ,' +age+ ' ,' +id}}</h2>
			
			`}
			// 2. 定义路由
			// 每个路由应该映射一个组件。 其中"component" 可以是
			// 通过 Vue.extend() 创建的组件构造器，
			// 或者，只是一个组件配置对象。
			// 我们晚点再讨论嵌套路由。
			
			// 3. 创建 router 实例，然后传 `routes` 配置
			// 你还可以传别的配置参数, 不过先这么简单着吧。
			
			const router = new VueRouter({
			  // routes // (缩写) 相当于 routes: routes
			  routes : [
			    { path: '/user/:id', component: User },
			    { 
					path: '/goods/:id', 
					component: Goods,
					props:route=> ({id:route.params.id}),
					children : [
					   { path: '/goods/lingshi/:id',name: 'lingshi', component: Ls },
					   { path: '/goods/xiangshui/:id', component: Xs }
					]},
				{ path: '/duixiang', component: Dx ,props:{name:'fafa',age: '24'}},
				{ path: '/hanshu/:id', component: Hs ,props:route=>({name:'fafafa',age: '24',id: route.params.id})},
			  ]
			})
			let app = new Vue({
				  el: '#app',
			      router,
				  data:{
					  message: 'hello vue'
				  }
			
			
			// 现在，应用已经启动了！
			})
			
		// 4. 创建和挂载根实例。
		// 记得要通过 router 配置参数注入路由，
		// 从而让整个应用都有路由功能
		// const app = new Vue({
		//   router
		// }).$mount('#app')

		
		</script>
	</body>
</html>
